//
//  LCFour.swift
//  LeetCode
//
//  Created by migu on 2021/7/14.
//  Copyright © 2021 LBB. All rights reserved.
//  给你两个有序整数数组 nums1 和 nums2，请你将 nums2 合并到 nums1 中，使 nums1 成为一个有序数组。
//  初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n，这样它就有足够的空间保存来自 nums2 的元素。
//  输入：nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
//  输出：[1,2,2,3,5,6]
import Foundation
class LCFour {
    func merge(_ nums1: inout [Int], _ m: Int, _ nums2: [Int], _ n: Int) {
        var i:Int = m - 1
        var j:Int = n - 1
        var new = m + n - 1
        while j >= 0 {
            if i < 0 {
                nums1[new] = nums2[j]
                j -= 1
            } else {
                if nums1[i] > nums2[j] {
                    nums1[new] = nums1[i]
                    i -= 1
                } else {
                    nums1[new] = nums2[j]
                    j -= 1
                }
            }
            new -= 1
        }
        print(nums1)
    }
}
